home *** CD-ROM | disk | FTP | other *** search
-
-
-
- CREAT C Library Procedures CREAT
-
-
-
- NNAAMMEE
- creat - create a new file
-
- SSYYNNOOPPSSIISS
- ccrreeaatt((nnaammee,, mmooddee))
- cchhaarr **nnaammee;;
-
- DDEESSCCRRIIPPTTIIOONN
- TThhiiss iinntteerrffaaccee iiss mmaaddee oobbssoolleettee bbyy ooppeenn((22))..
-
- _C_r_e_a_t creates a new file or prepares to rewrite an existing
- file called _n_a_m_e, given as the address of a null-terminated
- string. If the file did not exist, it is given mode _m_o_d_e,
- as modified by the process's mode mask (see _u_m_a_s_k(2)). Also
- see _c_h_m_o_d(2) for the construction of the _m_o_d_e argument.
-
- If the file did exist, its mode and owner remain unchanged
- but it is truncated to 0 length.
-
- The file is also opened for writing, and its file descriptor
- is returned.
-
- NNOOTTEESS
- The _m_o_d_e given is arbitrary; it need not allow writing.
- This feature has been used in the past by programs to con-
- struct a simple, exclusive locking mechanism. It is
- replaced by the O_EXCL open mode, or _f_l_o_c_k(2) facility.
-
- RREETTUURRNN VVAALLUUEE
- The value -1 is returned if an error occurs. Otherwise, the
- call returns a non-negative descriptor that only permits
- writing.
-
- EERRRROORRSS
- _C_r_e_a_t will fail and the file will not be created or trun-
- cated if one of the following occur:
-
- [ENOTDIR] A component of the path prefix is not a
- directory.
-
- [EINVAL] The pathname contains a character with the
- high-order bit set.
-
- [ENAMETOOLONG] A component of a pathname exceeded 255 char-
- acters, or an entire path name exceeded 1023
- characters.
-
- [ENOENT] The named file does not exist.
-
- [ELOOP] Too many symbolic links were encountered in
- translating the pathname.
-
-
-
-
- Sprite v1.0 May 22, 1986 1
-
-
-
-
-
-
- CREAT C Library Procedures CREAT
-
-
-
- [EACCES] Search permission is denied for a component
- of the path prefix.
-
- [EACCES] The file does not exist and the directory in
- which it is to be created is not writable.
-
- [EACCES] The file exists, but it is unwritable.
-
- [EISDIR] The file is a directory.
-
- [EMFILE] There are already too many files open.
-
- [ENFILE] The system file table is full.
-
- [ENOSPC] The directory in which the entry for the new
- file is being placed cannot be extended
- because there is no space left on the file
- system containing the directory.
-
- [ENOSPC] There are no free inodes on the file system
- on which the file is being created.
-
- [EDQUOT] The directory in which the entry for the new
- file is being placed cannot be extended
- because the user's quota of disk blocks on
- the file system containing the directory has
- been exhausted.
-
- [EDQUOT] The user's quota of inodes on the file system
- on which the file is being created has been
- exhausted.
-
- [EROFS] The named file resides on a read-only file
- system.
-
- [ENXIO] The file is a character special or block spe-
- cial file, and the associated device does not
- exist.
-
- [ETXTBSY] The file is a pure procedure (shared text)
- file that is being executed.
-
- [EIO] An I/O error occurred while making the direc-
- tory entry or allocating the inode.
-
- [EFAULT] _N_a_m_e points outside the process's allocated
- address space.
-
- [EOPNOTSUPP] The file was a socket (not currently imple-
- mented).
-
-
-
-
-
- Sprite v1.0 May 22, 1986 2
-
-
-
-
-
-
- CREAT C Library Procedures CREAT
-
-
-
- SSEEEE AALLSSOO
- open(2), write(2), close(2), chmod(2), umask(2)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sprite v1.0 May 22, 1986 3
-
-
-
-